<?php
/**
 * Created by PhpStorm.
 * User: dell1
 * Date: 2016/10/12
 * Time: 21:53
 */
//声明HTTP消息头的文档编码格式
header('content-type:text/html;charset=utf-8');
//连接数据库
$link=mysqli_connect('localhost','root','','itcast');
//mysql_connet();老的
//判断数据库连接是否成功，如果不成功则显示错误信息并终止脚本继续执行
if(!$link){
    die('连接数据库失败！'.mysqli_error($link));
}
//设置字符集，选择数据库
mysqli_query($link,'set names utf8');
mysqli_query($link,'use `itcast`');

$where='';//定义变量，用来保存查询条件，初始化赋值空值字符
if(isset($_GET['keyword']))//判断是否有关键字传入
{
    $keyword=$_GET['keyword'];//将$_GET['keyword']赋值给变量$keyword
    $keyword=mysqli_real_escape_string($link,$keyword);//对用户输入数据进行SQL转意
    $where="where e_name like '%$keyword%'";//将转意后的关键字拼接到where条件查询中，并且用like进行模糊查询
}
$fields=array('e_dept','date_of_entry');//允许排序的字段
$sql_order='';//初始化排序语句，用来组合排序的order子句
/*判断$_GET['order']是否存在，如果存在则将其赋值给$order；如果不存在，则把空字符串赋值给$order*/
$order=isset($_GET['order']) ? $_GET['order'] : '';
$sort=isset($_GET['sort']) ? $_GET['sort'] : '';
if(in_array($order,$fields))//判断$order是否存在于合法字段列表$fields中
{
    if($sort=='desc')//判断$_GET['sort']是否存在并且值是否为'desc'
    {
        $sql_order="order by $order desc";//条件成立，组合order子句  order by  字段   desc
        $sort='asc';//更新$sort为'asc'
    }else{
        $sql_order="order by $order asc";//条件不成立，组合order子句 order  by   字段   asc
        $sort='desc';//更新$sort为'desc'
    }
}
//准备SQL语句
$sql="select*from `emp_info`   $where $sql_order";//执行SQL语句，获取结果集
$res=mysqli_query($link,$sql);
//定义员工数组，用以保存员工的信息
//if(!$res)  die();
$page_size=2;//定义每页显示的记录行数
//查询所有记录的行数
$res=mysqli_query($link,'select count(*)from `emp_info`');
$count=mysqli_fetch_row($res);
$count=$count[0];
$max_page=ceil($count/$page_size);//计算最大页码值
//获取访问当前的页码，并做容错处理
$page=isset($_GET['page']) ? intval($_GET['page']) : 1;
$page=$page>$max_page ? $max_page : $page;
$page=$page<1 ? : $page;
//组合分页链接
$page_html="<a href='./showList.php?page=1'>首页</a>&nbsp;";
$page_html.="<a href='./showList.php?page=".(($page-1)>0?($page-1):1)."'>上一页</a>&nbsp;";
$page_html.="<a href='./showList.php?page=".(($page+1)<$max_page?($page+1):$max_page)."'>下一页</a>&nbsp;";
$page_html.="<a href='./showList.php?page={$max_page}'>尾页</a>";
$lim=($page-1)*2;//拼接查询语句并执行，获取查询数据
$sql="select* from `emp_info` limit $lim,2";
$res=mysqli_query($link,$sql);
$emp_info=array();
//遍历结果集，获取每一位员工的详细数据
while($row=mysqli_fetch_assoc($res)){
    $emp_info[]=$row;
}
//设置常量，用以判断试图文件是否由此文件加载
define('APP','itcast');
//加载HTML模板文件，显示数据
require './list_html.php';
?>